<?php

namespace IDock\Visitor\NonCar;

use IDock\Visitor\Premium\PremiumRelationVisitor;
use IDock\Visitor\Premium\PremiumVehicleVisitor;

/**
 * 非车询价
 */
class NonCarInquiryVisitor
{

    /**
     * 开始日期
     * @var string $startData
     */
    public $startData = '';

    /**
     * 结束日期
     * @var string $endData
     */
    public $endData = '';

    /**
     * 车辆信息
     * @var PremiumVehicleVisitor $vehicleVisitor
     */
    private $vehicleVisitor;

    /**
     * 投保人
     * @var  PremiumRelationVisitor $applicantVisitor
     */
    private $applicantVisitor;

    /**
     * 被保人
     * @var PremiumRelationVisitor $insuredVisitor
     */
    private $insuredVisitor;


    /**
     * 车主
     * @var PremiumRelationVisitor $ownerVisitor
     */
    private $ownerVisitor;

    /**
     * 非车列表
     * @var array $nonCarList
     */
    private $nonCarList = [];

    /**
     * 询价拓展参数
     * @var array $argc
     */
    public $argc = [];

    /**
     * @param PremiumVehicleVisitor $vehicleVisitor
     */
    public function setVehicleVisitor(PremiumVehicleVisitor $vehicleVisitor): void
    {
        $this->vehicleVisitor = $vehicleVisitor;
    }

    /**
     * @param PremiumRelationVisitor $applicantVisitor
     */
    public function setApplicantVisitor(PremiumRelationVisitor $applicantVisitor): void
    {
        $this->applicantVisitor = $applicantVisitor;
    }

    /**
     * @param PremiumRelationVisitor $insuredVisitor
     */
    public function setInsuredVisitor(PremiumRelationVisitor $insuredVisitor): void
    {
        $this->insuredVisitor = $insuredVisitor;
    }

    /**
     * @param PremiumRelationVisitor $ownerVisitor
     */
    public function setOwnerVisitor(PremiumRelationVisitor $ownerVisitor): void
    {
        $this->ownerVisitor = $ownerVisitor;
    }

    /**
     * @param NonCarProductVisitor $nonCarProductVisitor
     */
    public function nonCarListAppend(NonCarProductVisitor $nonCarProductVisitor): void
    {
        $this->nonCarList[] = $nonCarProductVisitor;
    }

    /**
     * @return PremiumVehicleVisitor
     */
    public function getVehicleVisitor(): PremiumVehicleVisitor
    {
        return $this->vehicleVisitor;
    }

    /**
     * @return PremiumRelationVisitor
     */
    public function getApplicantVisitor(): PremiumRelationVisitor
    {
        return $this->applicantVisitor;
    }

    /**
     * @return PremiumRelationVisitor
     */
    public function getInsuredVisitor(): PremiumRelationVisitor
    {
        return $this->insuredVisitor;
    }

    /**
     * @return PremiumRelationVisitor
     */
    public function getOwnerVisitor(): PremiumRelationVisitor
    {
        return $this->ownerVisitor;
    }

    /**
     * @return array
     */
    public function getNonCarList(): array
    {
        return $this->nonCarList;
    }
}
